package com.dashu.device.api;

import com.dashu.device.dto.DeviceOpenDoorRespDTO;
import com.dashu.device.dto.DevicePicAddRespDTO;
import com.dashu.device.dto.DevicePicDelRespDTO;
import com.dashu.device.dto.DevicePicUpdRespDTO;
import com.dashu.base.vo.DeviceOpenDoorReqVO;
import com.dashu.base.vo.DevicePicAddVO;
import com.dashu.base.vo.DevicePicDelReqVO;
import com.dashu.base.vo.DevicePicUpdReqVO;

import java.io.UnsupportedEncodingException;

public interface ExternalApi<T> {

    /**
     * 添加图片
     *
     * @return
     */
    public DevicePicAddRespDTO<T> addUser(DevicePicAddVO<T> req) throws Exception;

    /**
     * 删除图片
     *
     * @return
     */
    public DevicePicDelRespDTO<T> delPic(DevicePicDelReqVO<T> req) throws UnsupportedEncodingException;

    /**
     * 更新图片
     *
     * @return
     */
    public DevicePicUpdRespDTO<T> updPic(DevicePicUpdReqVO<T> req) throws Exception;

    /**
     * 开门
     *
     * @return
     */
    public DeviceOpenDoorRespDTO<T> openDoor(DeviceOpenDoorReqVO<T> req) throws UnsupportedEncodingException;

}
